home *** CD-ROM | disk | FTP | other *** search
-
- MEdit V1.04 - © 1994 by Ralf Holsten
- Parkstraße 4
- 27432 Bremervörde Bevern
-
- MEdit V1.04 ist Shareware... (keine Public Domain)
- MEdit V1.04 darf Frei kopiert und verbreitet werden.
- Ich bitte nur um eine Mitteilung, wenn jemand mein
- Programm über sein Vertriebssystem vertreiben will.
- MEdit darf nicht mit anderen professionellen
- Programmen zusammen vertrieben werden !!!!!!!!!!!!!!!!!!
-
- Zu MEdit gehören die Dateien
- MEDIT.INF,
- MEDIT.PRG,
- MEDIT.TXT,
- VIRINFO.TXT
- und
- MEGAMAX.MAK
-
- MEdit darf nur kopiert werden,
- wenn diese Dateien mit kopiert werden.
-
- ------------------------------------------------------------------------------
-
- Sie können MEdit zu Testzwecken nutzen. MEdit besitzt in der Shareware-Version
- keine, oder nur geringe, Einschränkungen :
-
- Scriptmodul nicht vorhanden.
- Definitions- und Implementationsmodule zur Benutzung
- der Resourceeinbing fehlen (inclusive SourceCode).
-
- Wer diese Funktionen, einige Scriptmodule und die ausführliche Anleitung
- erwerben möchte, der soll sich bitte direkt an mich wenden :
-
- Ralf Holsten
- Parkstraße 4
- 27432 Bremervörde Bevern
-
- Die MEdit-Vollversion kostet 40 DM plus Nachname !!!
-
- ( Ich versende meine Software nur per Nachname !!!!!!!!!!!! )
-
- ( Bitte keine Postzustellungen zwischen 20.00 Uhr und 10.00 Uhr Morgens. )
- ( Ich könnte Zuhause sein. )
-
- ------------------------------------------------------------------------------
-
- Wem MEdit nicht gefällt, darf mir auch gerne schreiben oder es doch
- selbst besser machen, und mir dann seine Version eines Texteditors zuschicken.
-
- Ralf Holsten
- Parkstraße 4
- 27432 Bremervörde Bevern
-
- Sie können mir auch Geld schicken, wenn Ihnen MEdit nicht gefällt, dann werde
- ich meine Tätigkeit als Programmierer sofort aufgeben und nur noch solche,
- nun wirklich doofen, Anleitungen zu nicht existierenden Programmen schreiben.
-
- ------------------------------------------------------------------------------
-
- Und bitte beachten Sie folgendes :
-
- Wer gegen diese Vereinbarungen verstößt, wird vom
- Nikolaus mit der Rute verprügelt, oder von den Herren
- Ingenieuren verschiedener Autofirmen als Dummie benutzt.
-
- ------------------------------------------------------------------------------
-
- WICHTIG !!!!!!!!!!
- ------------------
- Ich übernehme keine Garantie für die korrekte Funktionsweise von MEdit.
- Außerdem übernehme ich keine Haftung über eventuell entstandene Schäden,
- an Hard-, Software usw., die durch MEdit verursacht wurden.
-
-
- -----------------------------------------------------------------------------
- Einleitung : [ Entschuldigen Sie mein schlechtes Deutsch...Bitte!!! ]
- -----------------------------------------------------------------------------
-
- MEdit ist ein Texteditor für Modula 2 - Quelltexte. Er bietet einige Sonder-
- funktionen, die das Programmieren unter Modula 2 sehr erleichtern.
- Der Texteditor wurde mit dem Megamax Modula 2 System programmiert und auch
- auf dieses System optimiert. Das gilt vor allem für die Einfügefunktionen und
- die Fehlerfunktion. Diese sind stark an das Megamax Modula 2 System gebunden.
- Im allgemeinen aber auch unter allen anderen Modula 2 Systemen nutzbar.
-
- -----------------------------------------------------------------------------
- Die Menus und ihre Tastaturkombinationen :
- -----------------------------------------------------------------------------
-
- 1. MEdit
- Informationen Control I
- -----------------------------------------------
- Accessories.
- 2. Datei
- Neues Fenster öffnen Control N
- -----------------------------------------------
- Module (*.M) laden Control L
- Definition Module laden Shift Control D
- Implementation Module laden Shift Control I
- Textdatei laden Shift Control T
- -----------------------------------------------
- aktuelles Fenster speichern Shift Control S
- aktuelles Fenster speichern als Control S
- -----------------------------------------------
- Programm beenden Control Q
-
- 3. Block
- Blockanfang markieren Control B
- Blockende markieren Control E
- Alles markieren Control A
- Block verstecken Control H
- -----------------------------------------------
- Kleinschrift
- Großschrift
- -----------------------------------------------
- Block kopieren Control C
- Control K
- Block verschieben Control V
- selektierten Block merken Shift Insert
- Schon bearbeiteten Block einfügen Control Insert
- (z.B. durch kopieren oder verschieben)
- -----------------------------------------------
- lese Clipboard
- setze Clipboard
- Text einfügen Alternate L
- Block speichern Alternate S
- -----------------------------------------------
- Block löschen Control D
-
- 4. Text
- Gehe zu Zeile Control Z
- Gehe zu Markierung Alternate G
- Gehe zu Fehler Control R
- -----------------------------------------------
- Gehe zu Textanfang Home
- Gehe zu Textende Shift Home
- -----------------------------------------------
- Setze Markierung Alternate M
- -----------------------------------------------
- Zeige Fehler Shift Control R
- -----------------------------------------------
- Suchen/Ersetzen Control F
- Nächsten Suchen Shift Control F
- -----------------------------------------------
- Einfügen eines Textobjektes Alternate I
- (z.B. ResourceCode, Binärdateien, Uhrzeit, Datum,
- Sonderzeichen, Tastaturcodes, SinCosTabellen,
- Icondatei...)
-
- 5. Extra
- Tastaturmakroverwaltung aufrufen Control Alternate T
- Scriptmodul laden und aussführen
- (zur Zeit noch nicht aktiv) Control Alternate S
- Rechnermodul aufrufen Control Alternate R
- ----------------------------------------------------
- Block drucken Shift Control P
- Fenster drucken Control P
- ----------------------------------------------------
- Einstellungen Alternate X
- Einstellungen sichern Control X
-
- 6. Fenster
- Fenster untereinander Alternate U
- nebeneinander Alternate N
- kachelartig Alternate K
- oder überlappend anordnen Alternate P
- -----------------------------------------------
- Fensterliste zeigen Alternate W
- oberstes Fenster schliessen Control Alternate C
- -----------------------------------------------
- Informationszeile ein/ausschalten
- -----------------------------------------------
- oberstes Fenster löschen Control Alternate D
- Alles offenen Fenster löschen
-
- -----------------------------------------------------------------------------
- Funktionsbeschreibung : ( nur für die wichtigsten Funktionen )
- -----------------------------------------------------------------------------
-
- Tastaturkombinationen :
-
- ⇧ - Hoch
- ⇩ - Runter
- ⇦ - Links
- ⇨ - Rechts
-
- Shift ⇧ - Cursor eine Fensterseite nach oben bewegen.
- Shift ⇩ - Cursor eine Fensterseite nach unten bewegen.
- Shift ⇦ - Cursor ein Wort nach Links bewegen.
- Shift ⇨ - Cursor ein Wort nach Rechts bewegen.
-
- Control ⇦ - an den Zeilenanfang springen.
- Control ⇨ - an das Zeilenende springen.
-
- Home - an den Textanfang springen
- Shift Home - an das Textende springen
-
- Backspace - einen Buchstaben links vom Cursor löschen und Cursor an diese
- Position bewegen,
- Shift Backspace - Ein Wort links vom Cursor löschen und Cursor bewegen.
- Control Backspace - Zeile links vom Cursor löschen und Cursor bewegen.
-
- Delete - einen Buchstaben Rechts vom Cursor löschen.
- Control Delete - Zeile rechts vom Cursor löschen.
-
- Control ';' - Semikolon an das Zeilenende anhängen.
- Control '(' - (): an das Zeilenende anhängen.
- Control ')' - ); an das Zeilenende anhängen.
-
- Space und Insert Leerzeichen in Zeile einfügen.
-
- F1 bis F4 Cursorform umschalten.
-
- F1 - Block
- F2 - Hohlblock
- F3 - Waagerechter Strich
- F4 - Horizontaler Strich
-
- Die Restlichen Tastaturkombinationen sind aus den Menus zu entnehmen.
-
- Makros : Werden durch Eingabe der Textkombination und anschließendem Drücken
- -------- der Escape-Taste ausgelöst. z.B. die Standart Makros
-
- io+ESC ergibt InOut
- gg+ESC ergibt GEMGlobals
- aw+ESC ergibt AESWindows
- ar+ESC ergibt AESResources.
-
- Die Makros werden in einem Dialog verwalten und können so leicht
- selbst einegeben und erweitert werden.
- Maximal sind 200 Makros möglich.
-
- Als Standartmakrodatei wurden die Megamax Modula II - Modulname
- eingegeben.
-
- Die aktuelle Makrodatei wird auch mit in der Infodatei abgespeichert.
-
-
- ShiftAlt-Server : mittels der Tastenkombination Shift-Alternate - Taste können
- ----------------- Standart-Modula-2-Befehle abgerufen werden.
-
- Hier die Liste der möglichen Kombinationen :
- ( '^' - Cursorposition nach dem auslösen der Funktion )
-
- Shift-Alt-A : ARRAY [0..^] OF ;
- ASSEMBLER;
- ADDRESS
-
- Shift-Alt-B : BEGIN
- BITSET;
- BOOLEAN;
- BYTE;
-
- Shift-Alt-C : CARDINAL;
- CASE ^ OF
- CHAR;
- CONST
-
- Shift-Alt-D : DEFINITION MODULE ^;
-
- Shift-Alt-E : ELSE
- ELSIF ^
- END;
- EXCL(
- EXIT;
- EXPORT ^
-
- Shift-Alt-F : FALSE
- FLOAT(
- FROM ^
- FORWARD;
-
- Shift-Alt-H : HALT;
- HIGH(
-
- Shift-Alt-I : IMPLEMENTATION MODULE ^;
- IMPORT ^
- INCL(
- INTEGER;
- INT(
-
- Shift-Alt-L : LONG(
- LONGCARD;
- LONGINT;
- LONGREAL;
- LONGWORD;
- LOOP
-
- Shift-Alt-M : MODULE ^;
-
- Shift-Alt-P : POINTER TO ^
- PROCEDURE
-
- Shift-Alt-R : REAL;
- RECORD
- REPEAT
- RETURN ^
-
- Shift-Alt-S : SET OF ^
- SHORT(
- FROM SYSTEM IMPORT ADDRESS, ASSEMBLER, ADR;
-
- Shift-Alt-T : THEN ^
- TRUE
- TRUNC(
- TYPE
-
- Shift-Alt-U : UNTIL ^
-
- Shift-Alt-V : VAR ^
-
- Shift-Alt-W : WHILE ^ DO
- WITH ^ D0
- WORD;
-
-
- Dialogbedienung Allgemein :
- ---------------------------
-
- Standart Tastaturbelegung (übliche Ataribbedienung + ) :
- Control 'A' -> bricht jeden Dialog mit 'Abbruch' ab.
- TAB -> Schaltet den Cursor weiter bzw. den Button-
- selector, wie unter Windows üblich. Damit ist
- eine Tastaturbedienung der Dialoge teilweise
- möglich.
- Shift TAB -> bewegt den Cursor eine Eingabezeile zurück,
- bzw. den Buttonselector.
- RETURN -> bewegt den Cursor eine Eingabezeile weiter,
- bzw. wenn die letzte Eingabezeile erreicht
- wurde, aktiviert die Returntaste den 'OK'-
- Button.
- UNDO -> aktiviert den Buttonselector.
-
- Standart Mausbedienung :
- linke Maustaste außerhalb der Dialogbox -> Ring my bell.
- rechte Maustaste außerhalb der Dialogbox -> Dialog schnell auf der aktu-
- ellen Mausposition zentrieren.
- linke Maustaste innerhalb der Dialogbox -> 1. normale Dialogbedienung
- 2. auf freier Dialostelle
- (ohne Funktion, z.B. Infotext,
- Grundbox usw.), Movebox-
- funktion.
-
-
- Suchen : Die Suchfunktion erlaubt es, bestimmte Textstellen im Text zu suchen
- -------- und diese zu verändern. Dabei können Freistellen oder ganze Passagen
- im Text ausgelassen werden und durch JOKER und ÜBERBRÜCKER ersetzt
- werden z.B. ( Standart JOKER '*', Standart ÜBERBRÜCKER '?' ) :
- Suche : P*OC?RE, findet u.a. PROCEDURE
- Suche : P**C, findet u.a. PROC
- Suche : P*E, findet u.a. PROCEDURE, POINTER TO BYTE
-
- Beim Ersetzen wird immer das ganze selektierte Wort ersetzt, es können
- keine ÜBERBRÜCKER oder JOKER gesetzt werden.
-
- Objekt einfügen : Mittels der Pfeil-Buttons können Sie die Funktionsauswahl
- scrollen, mittels eines Klicks auf die entsprechende Funktion,
- wird dies ausgeführt.
-
- Funktionen :
- 1. Sonderzeichen einfügen, es wird ein Dialog angezeigt, der
- die Auswahl eines Sonderzeichens ermöglicht.
- 2. Tastaturcode einfügen, es wird ein Diloag angezeigt, der
- auf eine Tastaturkombination wartet.
- Wird eine Tastenkombination gedrückt, wird diese als
- ScanCode und Sondertastenkombination (im Megamax -
- SpecialKeySet-Format) augegeben.
- Beispiel :
- (* Alternate 'S' *)
- IF (alternateKey IN key) & (ch.scan = $1F) THEN
-
- 3. Uhrzeit fügt die aktuelle Uhrzeit, in vier Variationen,
- in den Text ein. Die Variationen :
- 1. 21:25:42
- 2. 21 Uhr 25
- 3. 9:25 pm
- 4. 09:25 pm
-
- 4. Das aktuelle Datum in den Text einfügen :
- 1. 02.08.94
- 2. 2.08.94
- 3. 2.8.94
- 4. 8. Aug 94
-
- 5. Klammer einfügen :
- (* ----------------------------------------------------------------------- *)
- 6. Resourcecode in Text einbinden.
- Diese Funktion wandelt ein *.RSC File in ein Format um,
- das die Funktion RelocateResource lesen kann um.
- Die Funktion RelocateResource liefert dem AES dann die
- Werte wie nach ResourceLoad. Nun ist es möglich, auf
- das ResourceFile zu verzichten. (Siehe MEdit)
- 7. Icondatei einbinden.
- Eine *.ICN-Datei wird in ein TABLE-Format für Megamax-
- Modula 2 umgewandelt, so können Icons in Modula 2 Quell-
- texte leicht eingebunden werden. Beispiel :
-
- TABLE.W ICONDATEI : (* ohnen Offsets, nur die Reine Bildinformation *)
- $fffe,$a00b,$afeb,$a00b,$a00b,$afeb,$a00b,$9ff3,
- $8003,$bff3,$a013,$ac13,$ac13,$ac13,$ffff,$7fff,
- $0000;
-
- 8. Binärdatei einbinden.
- Eine beliebige Binärdatei wird in das TABLE-Format umge-
- wandelt.
- 9. SIN/COS-Tabelle erstellen.
- Es wird eine SIN/COS-Tabelle in den Text eingefügt.
- Für die kompletten 360 Grad.
- Die Werte werden in Wortlänge abgelegt, und müssen nur
- noch durch 1000 geteilt werden, nachdem sie angewendet
- wurden. Beispiel :
-
- TABLE.W SinTab: $0000, $0011, $0022, $0034, $0045, $0057, $0068, $0079,
- $008B, $009C, $00AD, $00BE, $00CF, $00E0, $00F1, $0102,
- ....
- TABLE.W CosTab: $03E8, $03E7, $03E7, $03E6, $03E5, $03E4, $03E2, $03E0,
- $03DE, $03DB, $03D8, $03D5, $03D2, $03CE, $03CA, $03C5,
- ....
- (* ---------------------------------- *)
- (* Schnelle 2Dimensionale Drehroutine *)
- (* Dreht rx,ry um den Nullpunkt *)
- (* ---------------------------------- *)
-
- PROCEDURE Rotate( rx,ry : LONGINT;
- VAR x,y : LONGINT);
-
- PROCEDURE SIN(w : LONGINT): LONGINT;
- VAR adr : POINTER TO ARRAY [0..359] OF INTEGER;
- BEGIN
- adr := CADR(SinTab);
- RETURN LONG(adr^[ SHORT(w) ]) ;
- END SIN;
-
- PROCEDURE COS(w : LONGINT): LONGINT;
- VAR adr : POINTER TO ARRAY [0..359] OF INTEGER;
- BEGIN
- adr := CADR(CosTab);
- RETURN LONG(adr^[SHORT(w)]);
- END COS;
-
- BEGIN
- x := rx * COS(winkel) DIV 1000L -
- ry * SIN(winkel) DIV 1000L;
- y := rx * SIN(winkel) DIV 1000L -
- ry * COS(winkel) DIV 1000L;
- END Rotate;
-
- Einstellungen : Dieser Dialog ermöglicht es Ihnen Standart Tabulatoren für
- ------------- verschiedene Dateitypen festzulegen, die Cursorform zu
- bestimmen, und die Infozeile im Fenster ein-, bzw. auszu-
- schalten.
-
- Sämliche Einstellungen können in einer Infodatei gespeichert
- werden.
-
- Fensterverwaltung : Dieser Dialog ermöglicht den Zugriff auf alle Fenster,
- ------------------- die offenen,und die geschlossenen (da MEdit grundsätzlich
- bis zu 40 Fenster ermöglicht, aber das Standart GEM nur
- sieben Fenster gleichzeitig verwalten kann).
-
- -----------------------------------------------------------------------------
- Begrenzungen :
- -----------------------------------------------------------------------------
- Der Texteditor sollte auf allen Atari Computern lauffähig sein,
- getestet wurde er allerdings nur auf einem Atari MegaSTE mit 4MB.
-
- Die Verarbeitungsgeschwindigkeit läßt ohne Blitter und 16 MHz CPU-Takt
- leider etwas zu wünschen übrig, da MEdit ausschließlich in Modula 2
- programmiert wurde, wird aber sicherlich in der nächsten Version
- wesentlich erhöht werden.
-
- Eine Textzeile darf maximal 156 Zeichen enthalten, wenn diese
- Zeichenanzahl überschritten wird, dann wird der Text umgebrochen und
- die überschüssigen Zeichen auf die nächste Zeile kopiert.
-
- Es sind maximal 20.000 Textzeilen pro Fenster erlaubt.
-
- Das macht zusammen 3.120.000 Bytes pro Fenster also sind für ein
- Fenster mit vollen 20.000 Textzeilen und Programmen 4MB notwendig.
-
- Es können maximal 40 Fenster gleichzeitig im Speicher gehalten werden.
- ( Das macht nun schon maximal 124.800.000 Bytes. [ Wer hat schon soviel
- Speicherkapazität. ] )
-
- Die Bildschirmauflösung muß mindestens 640x400 Pixel betragen,
- bei Auflösungen unterhalb 640x400 Pixeln ist eine Bildschirm-
- erweiterung, BigSTE (Siehe ST_Computer), BigScreen, BigScreen2
- oder andere eventuell vorhandene, zu nutzen.
-
- -----------------------------------------------------------------------------
- Fehler:
- -----------------------------------------------------------------------------
- Version 1.04, 02.08.94
- 1. Nach dem Auslösen der Druckfunktion stürzt das Programm manchmal ab.
- 2. Es kann zu kleineren Zeichenfehlern in der ersten Zeile des Fensters
- kommen.
- 3. Fensterverwaltung noch zu Speicherintensiv.
- 4. Beim Menuzeile einschalten verkleinern sich die Fenster um eine
- Zeile zu viel.
- 5. Wenn versucht wird, einen Block zu kopieren, ohne das ein Block
- selektiert wurdem, dann wird eine falsche Fehlermeldung ausgegeben.
- (und keiner weiß warum !)
-